//
//  MLRequestCache.h
//  MSHandbook
//
//  Created by molon on 15/1/27.
//  Copyright (c) 2015年 molon. All rights reserved.
//

#import <Foundation/Foundation.h>

typedef NS_ENUM(NSUInteger, MLRequestCacheState) {
    MLRequestCacheStateValid = 0,//有效缓存
    MLRequestCacheStateNotExisted , //不存在
    MLRequestCacheStateExpired, //过期了
};

@interface MLRequestCache : NSObject

/**
 *  根据url和参数来获取缓存文件路径
 */
+ (NSString*)cacheFilePathWithURL:(NSString*)url andRequestParameters:(NSDictionary*)parameters;
/**
 *  根据缓存文件路径和缓存有效时间来获取缓存数据
 */
+ (id)responseObjectWithCacheFilePath:(NSString*)cacheFilePath;

/**
 *  根据缓存文件路径和有效时间获取其当前状态
 */
+ (MLRequestCacheState)stateForCacheFilePath:(NSString*)cacheFilePath andValidTime:(NSTimeInterval)validTime;

/**
 *  记录数据到缓存
 */
+ (BOOL)cacheResponseObject:(id)responseObject toCacheFilePath:(NSString*)cacheFilePath;


/**
 *  清空
 */
+ (BOOL)clear;

@end
